package com.light.gulimall.order.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * 会员
 * 
 * @author minmin
 * @email 980680541@gmail.com
 * @date 2024-07-16 21:23:05
 */
@Data
public class MemberVO implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	private Long id;
	/**
	 * 会员等级id
	 */
	private Long levelId;
	/**
	 * 用户名
	 */
	private String username;
	/**
	 * 密码
	 */
	private String password;
	/**
	 * 昵称
	 */
	private String nickname;
	/**
	 * 手机号码
	 */
	private String mobile;
	/**
	 * 邮箱
	 */
	private String email;
	/**
	 * 头像
	 */
	private String header;
	/**
	 * 性别
	 */
	private Integer gender;
	/**
	 * 生日
	 */
	private Date birth;
	/**
	 * 所在城市
	 */
	private String city;
	/**
	 * 职业
	 */
	private String job;
	/**
	 * 个性签名
	 */
	private String sign;
	/**
	 * 用户来源
	 */
	private Integer sourceType;
	/**
	 * 积分
	 */
	private Integer integration;
	/**
	 * 成长值
	 */
	private Integer growth;
	/**
	 * 启用状态
	 */
	private Integer status;
	/**
	 * 注册时间
	 */
	private Date createTime;

	private String token;

	private String uid;

	private String expires;

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		MemberVO memberVO = (MemberVO) o;
		return Objects.equals(id, memberVO.id) && Objects.equals(levelId, memberVO.levelId) && Objects.equals(username, memberVO.username) && Objects.equals(password, memberVO.password) && Objects.equals(nickname, memberVO.nickname) && Objects.equals(mobile, memberVO.mobile) && Objects.equals(email, memberVO.email) && Objects.equals(header, memberVO.header) && Objects.equals(gender, memberVO.gender) && Objects.equals(birth, memberVO.birth) && Objects.equals(city, memberVO.city) && Objects.equals(job, memberVO.job) && Objects.equals(sign, memberVO.sign) && Objects.equals(sourceType, memberVO.sourceType) && Objects.equals(integration, memberVO.integration) && Objects.equals(growth, memberVO.growth) && Objects.equals(status, memberVO.status) && Objects.equals(createTime, memberVO.createTime) && Objects.equals(token, memberVO.token) && Objects.equals(uid, memberVO.uid) && Objects.equals(expires, memberVO.expires);
	}

	@Override
	public int hashCode() {
		return Objects.hash(id, levelId, username, password, nickname, mobile, email, header, gender, birth, city, job, sign, sourceType, integration, growth, status, createTime, token, uid, expires);
	}

}
